/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * This is GNU Go, a Go program. Contact gnugo@gnu.org, or see       *
 * http://www.gnu.org/software/gnugo/ for more information.          *
 *                                                                   *
 * Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,   *
 * 2008 and 2009 by the Free Software Foundation.                    *
 *                                                                   *
 * This program is free software; you can redistribute it and/or     *
 * modify it under the terms of the GNU General Public License as    *
 * published by the Free Software Foundation - version 3 or          *
 * (at your option) any later version.                               *
 *                                                                   *
 * This program is distributed in the hope that it will be useful,   *
 * but WITHOUT ANY WARRANTY; without even the implied warranty of    *
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the     *
 * GNU General Public License in file COPYING for more details.      *
 *                                                                   *
 * You should have received a copy of the GNU General Public         *
 * License along with this program; if not, write to the Free        *
 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,       *
 * Boston, MA 02111, USA.                                            *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

#include <stdio.h> /* for NULL */
#include "liberty.h"
#include "patterns.h"

static struct patval handipat0[] = {
  {680,0},	{754,0},	{791,0},	{828,0},
  {681,0},	{718,0},	{755,0},	{792,0},
  {829,0},	{682,0},	{719,0},	{756,0},
  {793,0},	{830,0},	{757,0},	{794,0},
  {831,0},	{717,0},	{758,0},	{795,0},
  {832,0}
};

static struct patval handipat1[] = {
  {718,0},	{755,0},	{792,0},	{682,0},
  {719,0},	{756,0},	{793,0},	{757,0},
  {794,0},	{681,0},	{758,0},	{795,0}
};

static struct patval handipat2[] = {
  {718,0},	{755,0},	{792,0},	{829,0},
  {682,0},	{719,0},	{756,0},	{793,0},
  {830,0},	{757,0},	{794,0},	{831,0},
  {681,0},	{758,0},	{795,0},	{832,0}
};

static struct patval handipat3[] = {
  {716,0},	{679,0},	{790,0},	{827,0},
  {680,0},	{717,0},	{754,0},	{791,0},
  {828,0},	{681,0},	{718,0},	{755,0},
  {792,0},	{829,0},	{682,0},	{719,0},
  {756,0},	{793,0},	{830,0},	{757,0},
  {794,0},	{831,0},	{753,0},	{758,0},
  {795,0},	{832,0}
};

static struct patval handipat4[] = {
  {716,0},	{679,0},	{790,0},	{827,0},
  {680,0},	{717,0},	{754,0},	{791,0},
  {828,0},	{681,0},	{718,0},	{755,0},
  {792,0},	{829,0},	{682,0},	{719,0},
  {756,0},	{793,0},	{830,0},	{757,0},
  {794,0},	{831,0},	{753,0},	{758,0},
  {795,0},	{832,0}
};

static struct patval handipat5[] = {
  {716,0},	{753,0},	{679,0},	{827,0},
  {864,0},	{680,0},	{717,0},	{754,0},
  {791,0},	{828,0},	{865,0},	{681,0},
  {718,0},	{755,0},	{792,0},	{829,0},
  {866,0},	{682,0},	{719,0},	{756,0},
  {793,0},	{830,0},	{867,0},	{757,0},
  {794,0},	{831,0},	{868,0},	{790,0},
  {758,0},	{795,0},	{832,0},	{869,0}
};

static struct patval handipat6[] = {
  {793,7},	{829,7},	{755,7},	{716,0},
  {864,0},	{680,0},	{717,0},	{754,0},
  {791,0},	{828,0},	{865,0},	{681,0},
  {718,0},	{753,0},	{792,0},	{827,0},
  {866,0},	{682,0},	{719,0},	{756,0},
  {679,0},	{830,0},	{867,0},	{757,0},
  {794,0},	{831,0},	{868,0},	{790,0},
  {758,0},	{795,0},	{832,0},	{869,0}
};

static struct patval handipat7[] = {
  {575,2},	{570,0},	{681,0},	{718,0},
  {571,0},	{608,0},	{645,0},	{682,0},
  {719,0},	{572,0},	{609,0},	{573,0},
  {610,0},	{607,0},	{574,0},	{611,0},
  {644,0},	{612,0},	{649,0},	{686,0},
  {723,0}
};

static struct patval handipat8[] = {
  {575,2},	{570,0},	{681,0},	{718,0},
  {571,0},	{608,0},	{645,0},	{682,0},
  {719,0},	{572,0},	{609,0},	{573,0},
  {610,0},	{607,0},	{574,0},	{611,0},
  {644,0},	{612,0},	{649,0},	{686,0},
  {723,0}
};

static struct patval handipat9[] = {
  {575,2},	{606,0},	{569,0},	{717,0},
  {570,0},	{607,0},	{644,0},	{681,0},
  {718,0},	{571,0},	{608,0},	{645,0},
  {682,0},	{719,0},	{572,0},	{609,0},
  {573,0},	{610,0},	{643,0},	{574,0},
  {611,0},	{680,0},	{612,0},	{649,0},
  {686,0},	{723,0}
};

static struct patval handipat10[] = {
  {575,2},	{606,0},	{569,0},	{717,0},
  {570,0},	{607,0},	{644,0},	{681,0},
  {718,0},	{571,0},	{608,0},	{645,0},
  {682,0},	{719,0},	{572,0},	{609,0},
  {573,0},	{610,0},	{643,0},	{574,0},
  {611,0},	{680,0},	{612,0},	{649,0},
  {686,0},	{723,0}
};

static struct patval handipat11[] = {
  {614,2},	{757,0},	{610,0},	{609,0},
  {758,0},	{611,0},	{759,0},	{612,0},
  {649,0},	{686,0},	{723,0},	{760,0},
  {613,0},	{650,0},	{687,0},	{724,0},
  {761,0},	{651,0},	{688,0},	{725,0},
  {762,0}
};

static struct patval handipat12[] = {
  {614,2},	{757,0},	{610,0},	{609,0},
  {758,0},	{611,0},	{759,0},	{612,0},
  {649,0},	{686,0},	{723,0},	{760,0},
  {613,0},	{650,0},	{687,0},	{724,0},
  {761,0},	{651,0},	{688,0},	{725,0},
  {762,0}
};

static struct patval handipat13[] = {
  {577,2},	{572,0},	{573,0},	{610,0},
  {609,0},	{574,0},	{611,0},	{575,0},
  {612,0},	{649,0},	{686,0},	{723,0},
  {576,0},	{613,0},	{650,0},	{687,0},
  {724,0},	{614,0},	{651,0},	{688,0},
  {725,0}
};

static struct patval handipat14[] = {
  {577,2},	{572,0},	{573,0},	{610,0},
  {609,0},	{574,0},	{611,0},	{575,0},
  {612,0},	{649,0},	{686,0},	{723,0},
  {576,0},	{613,0},	{650,0},	{687,0},
  {724,0},	{614,0},	{651,0},	{688,0},
  {725,0}
};

static struct patval handipat15[] = {
  {612,2},	{681,0},	{644,0},	{607,0},
  {792,0},	{608,0},	{645,0},	{682,0},
  {719,0},	{756,0},	{793,0},	{609,0},
  {757,0},	{794,0},	{610,0},	{755,0},
  {758,0},	{795,0},	{611,0},	{759,0},
  {796,0},	{718,0},	{649,0},	{686,0},
  {723,0},	{760,0},	{797,0}
};

static struct patval handipat16[] = {
  {612,2},	{643,0},	{717,0},	{606,0},
  {791,0},	{607,0},	{644,0},	{681,0},
  {718,0},	{755,0},	{792,0},	{608,0},
  {645,0},	{682,0},	{719,0},	{756,0},
  {793,0},	{609,0},	{757,0},	{794,0},
  {610,0},	{680,0},	{758,0},	{795,0},
  {611,0},	{759,0},	{796,0},	{754,0},
  {649,0},	{686,0},	{723,0},	{760,0},
  {797,0}
};

static struct patval handipat17[] = {
  {576,2},	{644,0},	{607,0},	{570,0},
  {755,0},	{571,0},	{608,0},	{645,0},
  {682,0},	{719,0},	{756,0},	{572,0},
  {609,0},	{757,0},	{573,0},	{610,0},
  {681,0},	{758,0},	{574,0},	{611,0},
  {759,0},	{575,0},	{612,0},	{649,0},
  {686,0},	{723,0},	{760,0},	{718,0},
  {613,0},	{650,0},	{687,0},	{724,0},
  {761,0}
};

static struct patval handipat18[] = {
  {576,2},	{644,0},	{607,0},	{570,0},
  {755,0},	{571,0},	{608,0},	{645,0},
  {682,0},	{719,0},	{756,0},	{572,0},
  {609,0},	{757,0},	{573,0},	{610,0},
  {681,0},	{758,0},	{574,0},	{611,0},
  {759,0},	{575,0},	{612,0},	{649,0},
  {686,0},	{723,0},	{760,0},	{718,0},
  {613,0},	{650,0},	{687,0},	{724,0},
  {761,0}
};

static struct patval handipat19[] = {
  {723,2},	{614,2},	{757,0},	{794,0},
  {610,0},	{758,0},	{795,0},	{611,0},
  {759,0},	{796,0},	{612,0},	{649,0},
  {686,0},	{609,0},	{760,0},	{797,0},
  {613,0},	{650,0},	{687,0},	{724,0},
  {761,0},	{798,0},	{651,0},	{688,0},
  {725,0},	{762,0},	{799,0}
};

static struct patval handipat20[] = {
  {615,2},	{723,2},	{794,0},	{610,0},
  {609,0},	{758,0},	{795,0},	{611,0},
  {759,0},	{796,0},	{612,0},	{649,0},
  {686,0},	{760,0},	{797,0},	{613,0},
  {650,0},	{687,0},	{724,0},	{761,0},
  {798,0},	{614,0},	{651,0},	{688,0},
  {725,0},	{762,0},	{799,0},	{757,0},
  {652,0},	{689,0},	{726,0},	{763,0},
  {800,0}
};

static struct patval handipat21[] = {
  {578,2},	{686,2},	{572,0},	{757,0},
  {573,0},	{610,0},	{609,0},	{758,0},
  {574,0},	{611,0},	{759,0},	{575,0},
  {612,0},	{649,0},	{723,0},	{760,0},
  {576,0},	{613,0},	{650,0},	{687,0},
  {724,0},	{761,0},	{577,0},	{614,0},
  {651,0},	{688,0},	{725,0},	{762,0},
  {615,0},	{652,0},	{689,0},	{726,0},
  {763,0}
};

static struct patval handipat22[] = {
  {1128,2},	{1242,2},	{576,2},	{757,0},
  {794,0},	{831,0},	{572,0},	{905,0},
  {942,0},	{979,0},	{1016,0},	{1053,0},
  {1090,0},	{1127,0},	{1164,0},	{1201,0},
  {1238,0},	{573,0},	{610,0},	{868,0},
  {758,0},	{795,0},	{832,0},	{869,0},
  {906,0},	{943,0},	{980,0},	{1017,0},
  {1054,0},	{1091,0},	{609,0},	{1165,0},
  {1202,0},	{1239,0},	{574,0},	{611,0},
  {759,0},	{796,0},	{833,0},	{870,0},
  {907,0},	{944,0},	{981,0},	{1018,0},
  {1055,0},	{1092,0},	{1129,0},	{1166,0},
  {1203,0},	{1240,0},	{575,0},	{612,0},
  {649,0},	{686,0},	{723,0},	{760,0},
  {797,0},	{834,0},	{871,0},	{908,0},
  {945,0},	{982,0},	{1019,0},	{1056,0},
  {1093,0},	{1130,0},	{1167,0},	{1204,0},
  {1241,0},	{613,0},	{650,0},	{687,0},
  {724,0},	{761,0},	{798,0},	{835,0},
  {872,0},	{909,0},	{946,0},	{983,0},
  {1020,0},	{1057,0},	{1094,0},	{1131,0},
  {1168,0},	{1205,0}
};

static struct patval handipat23[] = {
  {613,2},	{1165,2},	{1279,2},	{757,0},
  {609,0},	{831,0},	{868,0},	{905,0},
  {942,0},	{979,0},	{1016,0},	{1053,0},
  {1090,0},	{1127,0},	{1164,0},	{1201,0},
  {1238,0},	{1275,0},	{610,0},	{758,0},
  {795,0},	{832,0},	{869,0},	{906,0},
  {943,0},	{980,0},	{1017,0},	{1054,0},
  {1091,0},	{1128,0},	{1202,0},	{1239,0},
  {1276,0},	{794,0},	{759,0},	{796,0},
  {833,0},	{870,0},	{907,0},	{944,0},
  {981,0},	{1018,0},	{1055,0},	{1092,0},
  {1129,0},	{1166,0},	{1203,0},	{1240,0},
  {1277,0},	{612,0},	{649,0},	{686,0},
  {723,0},	{760,0},	{797,0},	{834,0},
  {871,0},	{908,0},	{945,0},	{982,0},
  {1019,0},	{1056,0},	{1093,0},	{1130,0},
  {1167,0},	{1204,0},	{1241,0},	{1278,0},
  {650,0},	{687,0},	{724,0},	{761,0},
  {798,0},	{835,0},	{872,0},	{909,0},
  {946,0},	{983,0},	{1020,0},	{1057,0},
  {1094,0},	{1131,0},	{1168,0},	{1205,0},
  {1242,0},	{611,0}
};

static struct patval handipat24[] = {
  {613,2},	{1165,2},	{1279,2},	{757,0},
  {609,0},	{831,0},	{868,0},	{905,0},
  {942,0},	{979,0},	{1016,0},	{1053,0},
  {1090,0},	{1127,0},	{1164,0},	{1201,0},
  {1238,0},	{1275,0},	{610,0},	{758,0},
  {795,0},	{832,0},	{869,0},	{906,0},
  {943,0},	{980,0},	{1017,0},	{1054,0},
  {1091,0},	{1128,0},	{1202,0},	{1239,0},
  {1276,0},	{794,0},	{759,0},	{796,0},
  {833,0},	{870,0},	{907,0},	{944,0},
  {981,0},	{1018,0},	{1055,0},	{1092,0},
  {1129,0},	{1166,0},	{1203,0},	{1240,0},
  {1277,0},	{612,0},	{649,0},	{686,0},
  {723,0},	{760,0},	{797,0},	{834,0},
  {871,0},	{908,0},	{945,0},	{982,0},
  {1019,0},	{1056,0},	{1093,0},	{1130,0},
  {1167,0},	{1204,0},	{1241,0},	{1278,0},
  {650,0},	{687,0},	{724,0},	{761,0},
  {798,0},	{835,0},	{872,0},	{909,0},
  {946,0},	{983,0},	{1020,0},	{1057,0},
  {1094,0},	{1131,0},	{1168,0},	{1205,0},
  {1242,0},	{611,0}
};

static struct patval handipat25[] = {
  {754,4},	{756,4},	{793,4},	{791,4},
  {827,0},	{753,0},	{790,0},	{975,0},
  {1012,0},	{1049,0},	{1086,0},	{680,0},
  {717,0},	{679,0},	{716,0},	{828,0},
  {865,0},	{902,0},	{939,0},	{976,0},
  {1013,0},	{1050,0},	{1087,0},	{681,0},
  {718,0},	{755,0},	{792,0},	{829,0},
  {866,0},	{903,0},	{940,0},	{977,0},
  {1014,0},	{1051,0},	{1088,0},	{682,0},
  {719,0},	{901,0},	{938,0},	{830,0},
  {867,0},	{904,0},	{941,0},	{978,0},
  {1015,0},	{1052,0},	{1089,0},	{757,0},
  {794,0},	{831,0},	{868,0},	{905,0},
  {942,0},	{979,0},	{1016,0},	{1053,0},
  {1090,0},	{864,0},	{758,0},	{795,0},
  {832,0},	{869,0},	{906,0},	{943,0},
  {980,0},	{1017,0},	{1054,0},	{1091,0}
};

static struct patval handipat26[] = {
  {754,4},	{756,4},	{793,4},	{791,4},
  {827,0},	{753,0},	{790,0},	{975,0},
  {1012,0},	{1049,0},	{1086,0},	{680,0},
  {717,0},	{679,0},	{716,0},	{828,0},
  {865,0},	{902,0},	{939,0},	{976,0},
  {1013,0},	{1050,0},	{1087,0},	{681,0},
  {718,0},	{755,0},	{792,0},	{829,0},
  {866,0},	{903,0},	{940,0},	{977,0},
  {1014,0},	{1051,0},	{1088,0},	{682,0},
  {719,0},	{901,0},	{938,0},	{830,0},
  {867,0},	{904,0},	{941,0},	{978,0},
  {1015,0},	{1052,0},	{1089,0},	{757,0},
  {794,0},	{831,0},	{868,0},	{905,0},
  {942,0},	{979,0},	{1016,0},	{1053,0},
  {1090,0},	{864,0},	{758,0},	{795,0},
  {832,0},	{869,0},	{906,0},	{943,0},
  {980,0},	{1017,0},	{1054,0},	{1091,0}
};

static struct patval handipat27[] = {
  {538,2},	{609,4},	{610,4},	{681,0},
  {570,0},	{644,0},	{792,0},	{533,0},
  {866,0},	{903,0},	{940,0},	{534,0},
  {571,0},	{608,0},	{645,0},	{682,0},
  {719,0},	{756,0},	{793,0},	{830,0},
  {867,0},	{904,0},	{941,0},	{535,0},
  {572,0},	{607,0},	{757,0},	{794,0},
  {831,0},	{868,0},	{905,0},	{942,0},
  {536,0},	{573,0},	{755,0},	{829,0},
  {758,0},	{795,0},	{832,0},	{869,0},
  {906,0},	{943,0},	{537,0},	{574,0},
  {611,0},	{759,0},	{796,0},	{833,0},
  {870,0},	{907,0},	{944,0},	{718,0},
  {575,0},	{612,0},	{649,0},	{686,0},
  {723,0},	{760,0},	{797,0},	{834,0},
  {871,0},	{908,0},	{945,0}
};

static struct patval handipat28[] = {
  {539,2},	{610,4},	{611,4},	{645,0},
  {571,0},	{534,0},	{793,0},	{830,0},
  {867,0},	{904,0},	{941,0},	{535,0},
  {572,0},	{609,0},	{757,0},	{794,0},
  {831,0},	{868,0},	{905,0},	{942,0},
  {536,0},	{573,0},	{608,0},	{682,0},
  {758,0},	{795,0},	{832,0},	{869,0},
  {906,0},	{943,0},	{537,0},	{574,0},
  {756,0},	{759,0},	{796,0},	{833,0},
  {870,0},	{907,0},	{944,0},	{538,0},
  {575,0},	{612,0},	{649,0},	{686,0},
  {723,0},	{760,0},	{797,0},	{834,0},
  {871,0},	{908,0},	{945,0},	{719,0},
  {576,0},	{613,0},	{650,0},	{687,0},
  {724,0},	{761,0},	{798,0},	{835,0},
  {872,0},	{909,0},	{946,0}
};

static struct patval handipat29[] = {
  {576,2},	{645,4},	{682,4},	{719,0},
  {571,0},	{793,0},	{830,0},	{867,0},
  {608,0},	{941,0},	{978,0},	{572,0},
  {609,0},	{757,0},	{794,0},	{831,0},
  {868,0},	{905,0},	{942,0},	{979,0},
  {573,0},	{610,0},	{904,0},	{758,0},
  {795,0},	{832,0},	{869,0},	{906,0},
  {943,0},	{980,0},	{574,0},	{611,0},
  {759,0},	{796,0},	{833,0},	{870,0},
  {907,0},	{944,0},	{981,0},	{575,0},
  {612,0},	{649,0},	{686,0},	{723,0},
  {760,0},	{797,0},	{834,0},	{871,0},
  {908,0},	{945,0},	{982,0},	{756,0},
  {613,0},	{650,0},	{687,0},	{724,0},
  {761,0},	{798,0},	{835,0},	{872,0},
  {909,0},	{946,0},	{983,0}
};

static struct patval handipat30[] = {
  {576,2},	{645,4},	{682,4},	{719,0},
  {571,0},	{793,0},	{830,0},	{867,0},
  {608,0},	{941,0},	{978,0},	{572,0},
  {609,0},	{757,0},	{794,0},	{831,0},
  {868,0},	{905,0},	{942,0},	{979,0},
  {573,0},	{610,0},	{904,0},	{758,0},
  {795,0},	{832,0},	{869,0},	{906,0},
  {943,0},	{980,0},	{574,0},	{611,0},
  {759,0},	{796,0},	{833,0},	{870,0},
  {907,0},	{944,0},	{981,0},	{575,0},
  {612,0},	{649,0},	{686,0},	{723,0},
  {760,0},	{797,0},	{834,0},	{871,0},
  {908,0},	{945,0},	{982,0},	{756,0},
  {613,0},	{650,0},	{687,0},	{724,0},
  {761,0},	{798,0},	{835,0},	{872,0},
  {909,0},	{946,0},	{983,0}
};

static struct patval handipat31[] = {
  {793,4},	{755,4},	{792,4},	{829,4},
  {866,4},	{756,4},	{830,4},	{681,0},
  {718,0},	{1051,0},	{1088,0},	{1125,0},
  {1162,0},	{682,0},	{719,0},	{977,0},
  {903,0},	{940,0},	{867,0},	{904,0},
  {941,0},	{978,0},	{1015,0},	{1052,0},
  {1089,0},	{1126,0},	{1163,0},	{757,0},
  {794,0},	{831,0},	{868,0},	{905,0},
  {942,0},	{979,0},	{1016,0},	{1053,0},
  {1090,0},	{1127,0},	{1164,0},	{1014,0},
  {758,0},	{795,0},	{832,0},	{869,0},
  {906,0},	{943,0},	{980,0},	{1017,0},
  {1054,0},	{1091,0},	{1128,0},	{1165,0}
};

static struct patval handipat32[] = {
  {830,4},	{793,4},	{791,4},	{828,4},
  {865,4},	{756,4},	{829,4},	{755,4},
  {867,4},	{754,4},	{792,4},	{1050,0},
  {1161,0},	{681,0},	{1124,0},	{976,0},
  {1087,0},	{939,0},	{866,0},	{903,0},
  {940,0},	{977,0},	{1014,0},	{1051,0},
  {1088,0},	{1125,0},	{1162,0},	{682,0},
  {719,0},	{902,0},	{680,0},	{717,0},
  {1013,0},	{904,0},	{941,0},	{978,0},
  {1015,0},	{1052,0},	{1089,0},	{1126,0},
  {1163,0},	{757,0},	{794,0},	{831,0},
  {868,0},	{905,0},	{942,0},	{979,0},
  {1016,0},	{1053,0},	{1090,0},	{1127,0},
  {1164,0},	{718,0},	{758,0},	{795,0},
  {832,0},	{869,0},	{906,0},	{943,0},
  {980,0},	{1017,0},	{1054,0},	{1091,0},
  {1128,0},	{1165,0}
};

static struct patval handipat33[] = {
  {354,2},	{500,4},	{461,4},	{498,4},
  {463,4},	{426,4},	{499,4},	{425,4},
  {462,4},	{424,4},	{757,0},	{794,0},
  {351,0},	{609,0},	{536,0},	{573,0},
  {610,0},	{535,0},	{758,0},	{795,0},
  {352,0},	{389,0},	{572,0},	{350,0},
  {387,0},	{537,0},	{574,0},	{611,0},
  {759,0},	{796,0},	{353,0},	{390,0},
  {427,0},	{464,0},	{501,0},	{538,0},
  {575,0},	{612,0},	{649,0},	{686,0},
  {723,0},	{760,0},	{797,0},	{388,0},
  {391,0},	{428,0},	{465,0},	{502,0},
  {539,0},	{576,0},	{613,0},	{650,0},
  {687,0},	{724,0},	{761,0},	{798,0}
};

static struct patval handipat34[] = {
  {353,2},	{462,4},	{460,4},	{497,4},
  {424,4},	{499,4},	{498,4},	{425,4},
  {461,4},	{423,4},	{645,0},	{793,0},
  {350,0},	{719,0},	{534,0},	{682,0},
  {608,0},	{535,0},	{572,0},	{609,0},
  {757,0},	{794,0},	{351,0},	{388,0},
  {756,0},	{349,0},	{386,0},	{536,0},
  {573,0},	{610,0},	{571,0},	{758,0},
  {795,0},	{352,0},	{389,0},	{426,0},
  {463,0},	{500,0},	{537,0},	{574,0},
  {611,0},	{759,0},	{796,0},	{387,0},
  {390,0},	{427,0},	{464,0},	{501,0},
  {538,0},	{575,0},	{612,0},	{649,0},
  {686,0},	{723,0},	{760,0},	{797,0}
};

static struct patval handipat35[] = {
  {977,4},	{1014,4},	{1051,4},	{750,4},
  {756,4},	{793,4},	{830,4},	{823,4},
  {792,4},	{829,4},	{978,4},	{1015,4},
  {1052,4},	{828,4},	{822,4},	{749,4},
  {786,4},	{976,4},	{1013,4},	{1050,4},
  {787,4},	{824,4},	{791,4},	{748,4},
  {754,4},	{755,4},	{785,4},	{1041,0},
  {710,0},	{1042,0},	{1005,0},	{708,0},
  {745,0},	{746,0},	{783,0},	{969,0},
  {1006,0},	{1043,0},	{1079,0},	{671,0},
  {1154,0},	{674,0},	{711,0},	{747,0},
  {1004,0},	{709,0},	{859,0},	{896,0},
  {933,0},	{970,0},	{1007,0},	{1044,0},
  {1081,0},	{1118,0},	{1155,0},	{675,0},
  {712,0},	{782,0},	{932,0},	{967,0},
  {860,0},	{897,0},	{934,0},	{971,0},
  {1008,0},	{1045,0},	{1082,0},	{1119,0},
  {1156,0},	{676,0},	{713,0},	{819,0},
  {931,0},	{968,0},	{861,0},	{898,0},
  {935,0},	{972,0},	{1009,0},	{1046,0},
  {1083,0},	{1120,0},	{1157,0},	{677,0},
  {714,0},	{751,0},	{788,0},	{825,0},
  {862,0},	{899,0},	{936,0},	{973,0},
  {1010,0},	{1047,0},	{1084,0},	{1121,0},
  {1158,0},	{678,0},	{715,0},	{752,0},
  {789,0},	{826,0},	{863,0},	{900,0},
  {937,0},	{974,0},	{1011,0},	{1048,0},
  {1085,0},	{1122,0},	{1159,0},	{679,0},
  {716,0},	{753,0},	{790,0},	{827,0},
  {864,0},	{901,0},	{938,0},	{975,0},
  {1012,0},	{1049,0},	{1086,0},	{1123,0},
  {1160,0},	{680,0},	{717,0},	{1080,0},
  {1117,0},	{672,0},	{865,0},	{902,0},
  {939,0},	{820,0},	{857,0},	{894,0},
  {1087,0},	{1124,0},	{1161,0},	{681,0},
  {718,0},	{1116,0},	{1153,0},	{673,0},
  {866,0},	{903,0},	{940,0},	{821,0},
  {858,0},	{895,0},	{1088,0},	{1125,0},
  {1162,0},	{682,0},	{719,0},	{856,0},
  {893,0},	{930,0},	{867,0},	{904,0},
  {941,0},	{1078,0},	{1115,0},	{1152,0},
  {1089,0},	{1126,0},	{1163,0},	{757,0},
  {794,0},	{831,0},	{868,0},	{905,0},
  {942,0},	{979,0},	{1016,0},	{1053,0},
  {1090,0},	{1127,0},	{1164,0},	{784,0},
  {758,0},	{795,0},	{832,0},	{869,0},
  {906,0},	{943,0},	{980,0},	{1017,0},
  {1054,0},	{1091,0},	{1128,0},	{1165,0}
};

static struct patval handipat36[] = {
  {977,4},	{1014,4},	{1051,4},	{750,4},
  {756,4},	{793,4},	{830,4},	{823,4},
  {792,4},	{829,4},	{978,4},	{1015,4},
  {1052,4},	{828,4},	{822,4},	{749,4},
  {786,4},	{976,4},	{1013,4},	{1050,4},
  {787,4},	{824,4},	{791,4},	{748,4},
  {754,4},	{755,4},	{785,4},	{1041,0},
  {710,0},	{1042,0},	{1005,0},	{708,0},
  {745,0},	{746,0},	{783,0},	{969,0},
  {1006,0},	{1043,0},	{1079,0},	{671,0},
  {1154,0},	{674,0},	{711,0},	{747,0},
  {1004,0},	{709,0},	{859,0},	{896,0},
  {933,0},	{970,0},	{1007,0},	{1044,0},
  {1081,0},	{1118,0},	{1155,0},	{675,0},
  {712,0},	{782,0},	{932,0},	{967,0},
  {860,0},	{897,0},	{934,0},	{971,0},
  {1008,0},	{1045,0},	{1082,0},	{1119,0},
  {1156,0},	{676,0},	{713,0},	{819,0},
  {931,0},	{968,0},	{861,0},	{898,0},
  {935,0},	{972,0},	{1009,0},	{1046,0},
  {1083,0},	{1120,0},	{1157,0},	{677,0},
  {714,0},	{751,0},	{788,0},	{825,0},
  {862,0},	{899,0},	{936,0},	{973,0},
  {1010,0},	{1047,0},	{1084,0},	{1121,0},
  {1158,0},	{678,0},	{715,0},	{752,0},
  {789,0},	{826,0},	{863,0},	{900,0},
  {937,0},	{974,0},	{1011,0},	{1048,0},
  {1085,0},	{1122,0},	{1159,0},	{679,0},
  {716,0},	{753,0},	{790,0},	{827,0},
  {864,0},	{901,0},	{938,0},	{975,0},
  {1012,0},	{1049,0},	{1086,0},	{1123,0},
  {1160,0},	{680,0},	{717,0},	{1080,0},
  {1117,0},	{672,0},	{865,0},	{902,0},
  {939,0},	{820,0},	{857,0},	{894,0},
  {1087,0},	{1124,0},	{1161,0},	{681,0},
  {718,0},	{1116,0},	{1153,0},	{673,0},
  {866,0},	{903,0},	{940,0},	{821,0},
  {858,0},	{895,0},	{1088,0},	{1125,0},
  {1162,0},	{682,0},	{719,0},	{856,0},
  {893,0},	{930,0},	{867,0},	{904,0},
  {941,0},	{1078,0},	{1115,0},	{1152,0},
  {1089,0},	{1126,0},	{1163,0},	{757,0},
  {794,0},	{831,0},	{868,0},	{905,0},
  {942,0},	{979,0},	{1016,0},	{1053,0},
  {1090,0},	{1127,0},	{1164,0},	{784,0},
  {758,0},	{795,0},	{832,0},	{869,0},
  {906,0},	{943,0},	{980,0},	{1017,0},
  {1054,0},	{1091,0},	{1128,0},	{1165,0}
};

static struct patval handipat37[] = {
  {1045,7},	{1014,4},	{977,4},	{750,4},
  {756,4},	{793,4},	{830,4},	{823,4},
  {792,4},	{829,4},	{978,4},	{1015,4},
  {1052,4},	{1051,4},	{822,4},	{749,4},
  {828,4},	{976,4},	{1013,4},	{1050,4},
  {787,4},	{824,4},	{791,4},	{748,4},
  {754,4},	{755,4},	{785,4},	{786,4},
  {1041,0},	{1042,0},	{1005,0},	{708,0},
  {710,0},	{746,0},	{783,0},	{969,0},
  {1006,0},	{1043,0},	{1079,0},	{671,0},
  {745,0},	{674,0},	{711,0},	{747,0},
  {1004,0},	{709,0},	{859,0},	{896,0},
  {933,0},	{970,0},	{1007,0},	{1044,0},
  {1081,0},	{1118,0},	{1155,0},	{675,0},
  {712,0},	{782,0},	{1154,0},	{967,0},
  {860,0},	{897,0},	{934,0},	{971,0},
  {1008,0},	{932,0},	{1082,0},	{1119,0},
  {1156,0},	{676,0},	{713,0},	{819,0},
  {931,0},	{968,0},	{861,0},	{898,0},
  {935,0},	{972,0},	{1009,0},	{1046,0},
  {1083,0},	{1120,0},	{1157,0},	{677,0},
  {714,0},	{751,0},	{788,0},	{825,0},
  {862,0},	{899,0},	{936,0},	{973,0},
  {1010,0},	{1047,0},	{1084,0},	{1121,0},
  {1158,0},	{678,0},	{715,0},	{752,0},
  {789,0},	{826,0},	{863,0},	{900,0},
  {937,0},	{974,0},	{1011,0},	{1048,0},
  {1085,0},	{1122,0},	{1159,0},	{679,0},
  {716,0},	{753,0},	{790,0},	{827,0},
  {864,0},	{901,0},	{938,0},	{975,0},
  {1012,0},	{1049,0},	{1086,0},	{1123,0},
  {1160,0},	{680,0},	{717,0},	{1080,0},
  {1117,0},	{672,0},	{865,0},	{902,0},
  {939,0},	{820,0},	{857,0},	{894,0},
  {1087,0},	{1124,0},	{1161,0},	{681,0},
  {718,0},	{1116,0},	{1153,0},	{673,0},
  {866,0},	{903,0},	{940,0},	{821,0},
  {858,0},	{895,0},	{1088,0},	{1125,0},
  {1162,0},	{682,0},	{719,0},	{856,0},
  {893,0},	{930,0},	{867,0},	{904,0},
  {941,0},	{1078,0},	{1115,0},	{1152,0},
  {1089,0},	{1126,0},	{1163,0},	{757,0},
  {794,0},	{831,0},	{868,0},	{905,0},
  {942,0},	{979,0},	{1016,0},	{1053,0},
  {1090,0},	{1127,0},	{1164,0},	{784,0},
  {758,0},	{795,0},	{832,0},	{869,0},
  {906,0},	{943,0},	{980,0},	{1017,0},
  {1054,0},	{1091,0},	{1128,0},	{1165,0}
};

static struct patval handipat38[] = {
  {1045,7},	{1009,7},	{1007,7},	{750,4},
  {977,4},	{793,4},	{830,4},	{823,4},
  {792,4},	{829,4},	{756,4},	{1015,4},
  {1052,4},	{1051,4},	{822,4},	{749,4},
  {828,4},	{976,4},	{1013,4},	{1014,4},
  {787,4},	{824,4},	{791,4},	{978,4},
  {754,4},	{755,4},	{785,4},	{786,4},
  {1050,4},	{748,4},	{1041,0},	{708,0},
  {710,0},	{746,0},	{1005,0},	{969,0},
  {1006,0},	{1043,0},	{1079,0},	{671,0},
  {783,0},	{674,0},	{711,0},	{747,0},
  {1004,0},	{709,0},	{859,0},	{1042,0},
  {933,0},	{970,0},	{745,0},	{1044,0},
  {1081,0},	{1118,0},	{1155,0},	{675,0},
  {712,0},	{782,0},	{1154,0},	{967,0},
  {860,0},	{897,0},	{934,0},	{971,0},
  {1008,0},	{932,0},	{1082,0},	{1119,0},
  {1156,0},	{676,0},	{713,0},	{819,0},
  {931,0},	{968,0},	{861,0},	{898,0},
  {935,0},	{972,0},	{896,0},	{1046,0},
  {1083,0},	{1120,0},	{1157,0},	{677,0},
  {714,0},	{751,0},	{788,0},	{825,0},
  {862,0},	{899,0},	{936,0},	{973,0},
  {1010,0},	{1047,0},	{1084,0},	{1121,0},
  {1158,0},	{678,0},	{715,0},	{752,0},
  {789,0},	{826,0},	{863,0},	{900,0},
  {937,0},	{974,0},	{1011,0},	{1048,0},
  {1085,0},	{1122,0},	{1159,0},	{679,0},
  {716,0},	{753,0},	{790,0},	{827,0},
  {864,0},	{901,0},	{938,0},	{975,0},
  {1012,0},	{1049,0},	{1086,0},	{1123,0},
  {1160,0},	{680,0},	{717,0},	{1080,0},
  {1117,0},	{672,0},	{865,0},	{902,0},
  {939,0},	{820,0},	{857,0},	{894,0},
  {1087,0},	{1124,0},	{1161,0},	{681,0},
  {718,0},	{1116,0},	{1153,0},	{673,0},
  {866,0},	{903,0},	{940,0},	{821,0},
  {858,0},	{895,0},	{1088,0},	{1125,0},
  {1162,0},	{682,0},	{719,0},	{856,0},
  {893,0},	{930,0},	{867,0},	{904,0},
  {941,0},	{1078,0},	{1115,0},	{1152,0},
  {1089,0},	{1126,0},	{1163,0},	{757,0},
  {794,0},	{831,0},	{868,0},	{905,0},
  {942,0},	{979,0},	{1016,0},	{1053,0},
  {1090,0},	{1127,0},	{1164,0},	{784,0},
  {758,0},	{795,0},	{832,0},	{869,0},
  {906,0},	{943,0},	{980,0},	{1017,0},
  {1054,0},	{1091,0},	{1128,0},	{1165,0}
};

static struct patval handipat39[] = {
  {1032,7},	{1020,7},	{1248,7},	{804,7},
  {1350,2},	{1368,2},	{702,2},	{943,0},
  {869,0},	{832,0},	{1091,0},	{1128,0},
  {1165,0},	{1202,0},	{1239,0},	{1276,0},
  {795,0},	{759,0},	{758,0},	{833,0},
  {870,0},	{907,0},	{944,0},	{981,0},
  {1018,0},	{1055,0},	{1092,0},	{1129,0},
  {906,0},	{1203,0},	{1240,0},	{1277,0},
  {1314,0},	{1351,0},	{686,0},	{723,0},
  {760,0},	{797,0},	{834,0},	{871,0},
  {908,0},	{945,0},	{982,0},	{1019,0},
  {1056,0},	{1093,0},	{1130,0},	{1167,0},
  {1204,0},	{1241,0},	{1278,0},	{1315,0},
  {1352,0},	{687,0},	{724,0},	{761,0},
  {798,0},	{835,0},	{872,0},	{909,0},
  {946,0},	{980,0},	{1166,0},	{1057,0},
  {1094,0},	{1131,0},	{1168,0},	{1205,0},
  {1242,0},	{1279,0},	{1316,0},	{1353,0},
  {688,0},	{725,0},	{762,0},	{799,0},
  {836,0},	{873,0},	{910,0},	{1017,0},
  {984,0},	{1021,0},	{1058,0},	{1095,0},
  {1132,0},	{1169,0},	{1206,0},	{1243,0},
  {1280,0},	{1317,0},	{1354,0},	{689,0},
  {726,0},	{763,0},	{800,0},	{837,0},
  {874,0},	{911,0},	{948,0},	{985,0},
  {1022,0},	{1059,0},	{1096,0},	{1133,0},
  {1170,0},	{1207,0},	{1244,0},	{1281,0},
  {1318,0},	{1355,0},	{690,0},	{727,0},
  {764,0},	{801,0},	{838,0},	{875,0},
  {912,0},	{949,0},	{986,0},	{1023,0},
  {1060,0},	{1097,0},	{1134,0},	{1171,0},
  {1208,0},	{1245,0},	{1282,0},	{1319,0},
  {1356,0},	{691,0},	{728,0},	{765,0},
  {802,0},	{839,0},	{876,0},	{913,0},
  {950,0},	{987,0},	{1024,0},	{1061,0},
  {1098,0},	{1135,0},	{1172,0},	{1209,0},
  {1246,0},	{1283,0},	{1320,0},	{1357,0},
  {692,0},	{729,0},	{766,0},	{803,0},
  {840,0},	{877,0},	{914,0},	{951,0},
  {988,0},	{1025,0},	{1062,0},	{1099,0},
  {1136,0},	{1173,0},	{1210,0},	{1247,0},
  {1284,0},	{1321,0},	{1358,0},	{693,0},
  {730,0},	{767,0},	{1054,0},	{841,0},
  {878,0},	{915,0},	{952,0},	{989,0},
  {1026,0},	{1063,0},	{1100,0},	{1137,0},
  {1174,0},	{1211,0},	{796,0},	{1285,0},
  {1322,0},	{1359,0},	{694,0},	{731,0},
  {768,0},	{805,0},	{842,0},	{879,0},
  {916,0},	{953,0},	{990,0},	{1027,0},
  {1064,0},	{1101,0},	{1138,0},	{1175,0},
  {1212,0},	{1249,0},	{1286,0},	{1323,0},
  {1360,0},	{695,0},	{732,0},	{769,0},
  {806,0},	{843,0},	{880,0},	{917,0},
  {954,0},	{991,0},	{1028,0},	{1065,0},
  {1102,0},	{1139,0},	{1176,0},	{1213,0},
  {1250,0},	{1287,0},	{1324,0},	{1361,0},
  {696,0},	{733,0},	{770,0},	{807,0},
  {844,0},	{881,0},	{918,0},	{955,0},
  {992,0},	{1029,0},	{1066,0},	{1103,0},
  {1140,0},	{1177,0},	{1214,0},	{1251,0},
  {1288,0},	{1325,0},	{1362,0},	{697,0},
  {734,0},	{771,0},	{808,0},	{845,0},
  {882,0},	{919,0},	{956,0},	{993,0},
  {1030,0},	{1067,0},	{1104,0},	{1141,0},
  {1178,0},	{1215,0},	{1252,0},	{1289,0},
  {1326,0},	{1363,0},	{698,0},	{735,0},
  {772,0},	{809,0},	{846,0},	{883,0},
  {920,0},	{957,0},	{994,0},	{1031,0},
  {1068,0},	{1105,0},	{1142,0},	{1179,0},
  {1216,0},	{1253,0},	{1290,0},	{1327,0},
  {1364,0},	{699,0},	{736,0},	{773,0},
  {810,0},	{847,0},	{884,0},	{921,0},
  {958,0},	{995,0},	{1313,0},	{1069,0},
  {1106,0},	{1143,0},	{1180,0},	{1217,0},
  {1254,0},	{1291,0},	{1328,0},	{1365,0},
  {700,0},	{737,0},	{774,0},	{811,0},
  {848,0},	{885,0},	{922,0},	{959,0},
  {996,0},	{1033,0},	{1070,0},	{1107,0},
  {1144,0},	{1181,0},	{1218,0},	{1255,0},
  {1292,0},	{1329,0},	{1366,0},	{701,0},
  {738,0},	{775,0},	{812,0},	{849,0},
  {886,0},	{923,0},	{960,0},	{997,0},
  {1034,0},	{1071,0},	{1108,0},	{1145,0},
  {1182,0},	{1219,0},	{1256,0},	{1293,0},
  {1330,0},	{1367,0},	{983,0},	{739,0},
  {776,0},	{813,0},	{850,0},	{887,0},
  {924,0},	{961,0},	{998,0},	{1035,0},
  {1072,0},	{1109,0},	{1146,0},	{1183,0},
  {1220,0},	{1257,0},	{1294,0},	{1331,0},
  {947,0}
};

static struct patval handipat40[] = {
  {992,7},	{1060,7},	{1032,7},	{1020,7},
  {702,2},	{1368,2},	{1350,2},	{832,0},
  {869,0},	{1054,0},	{1091,0},	{1128,0},
  {1165,0},	{1202,0},	{1239,0},	{1276,0},
  {906,0},	{943,0},	{759,0},	{758,0},
  {795,0},	{870,0},	{907,0},	{944,0},
  {1018,0},	{1055,0},	{1092,0},	{1129,0},
  {1166,0},	{1203,0},	{1240,0},	{1277,0},
  {1314,0},	{1351,0},	{686,0},	{723,0},
  {760,0},	{797,0},	{834,0},	{871,0},
  {908,0},	{945,0},	{982,0},	{1019,0},
  {1056,0},	{1093,0},	{1130,0},	{1167,0},
  {1204,0},	{1241,0},	{1278,0},	{1315,0},
  {1352,0},	{687,0},	{724,0},	{761,0},
  {798,0},	{835,0},	{872,0},	{909,0},
  {946,0},	{980,0},	{796,0},	{1057,0},
  {1094,0},	{1131,0},	{1168,0},	{1205,0},
  {1242,0},	{1279,0},	{1316,0},	{1353,0},
  {688,0},	{725,0},	{762,0},	{799,0},
  {836,0},	{873,0},	{910,0},	{1017,0},
  {984,0},	{1021,0},	{1058,0},	{1095,0},
  {1132,0},	{1169,0},	{1206,0},	{1243,0},
  {1280,0},	{1317,0},	{1354,0},	{689,0},
  {726,0},	{763,0},	{800,0},	{837,0},
  {874,0},	{911,0},	{948,0},	{985,0},
  {1022,0},	{1059,0},	{1096,0},	{1133,0},
  {1170,0},	{1207,0},	{1244,0},	{1281,0},
  {1318,0},	{1355,0},	{690,0},	{727,0},
  {764,0},	{801,0},	{838,0},	{875,0},
  {912,0},	{949,0},	{986,0},	{1023,0},
  {981,0},	{1097,0},	{1134,0},	{1171,0},
  {1208,0},	{1245,0},	{1282,0},	{1319,0},
  {1356,0},	{691,0},	{728,0},	{765,0},
  {802,0},	{839,0},	{876,0},	{913,0},
  {950,0},	{987,0},	{1024,0},	{1061,0},
  {1098,0},	{1135,0},	{1172,0},	{1209,0},
  {1246,0},	{1283,0},	{1320,0},	{1357,0},
  {692,0},	{729,0},	{766,0},	{803,0},
  {840,0},	{877,0},	{914,0},	{951,0},
  {988,0},	{1025,0},	{1062,0},	{1099,0},
  {1136,0},	{1173,0},	{1210,0},	{1247,0},
  {1284,0},	{1321,0},	{1358,0},	{693,0},
  {730,0},	{767,0},	{804,0},	{841,0},
  {878,0},	{915,0},	{952,0},	{989,0},
  {1026,0},	{1063,0},	{1100,0},	{1137,0},
  {1174,0},	{1211,0},	{1248,0},	{1285,0},
  {1322,0},	{1359,0},	{694,0},	{731,0},
  {768,0},	{805,0},	{842,0},	{879,0},
  {916,0},	{953,0},	{990,0},	{1027,0},
  {1064,0},	{1101,0},	{1138,0},	{1175,0},
  {1212,0},	{1249,0},	{1286,0},	{1323,0},
  {1360,0},	{695,0},	{732,0},	{769,0},
  {806,0},	{843,0},	{880,0},	{917,0},
  {954,0},	{991,0},	{1028,0},	{1065,0},
  {1102,0},	{1139,0},	{1176,0},	{1213,0},
  {1250,0},	{1287,0},	{1324,0},	{1361,0},
  {696,0},	{733,0},	{770,0},	{807,0},
  {844,0},	{881,0},	{918,0},	{955,0},
  {833,0},	{1029,0},	{1066,0},	{1103,0},
  {1140,0},	{1177,0},	{1214,0},	{1251,0},
  {1288,0},	{1325,0},	{1362,0},	{697,0},
  {734,0},	{771,0},	{808,0},	{845,0},
  {882,0},	{919,0},	{956,0},	{993,0},
  {1030,0},	{1067,0},	{1104,0},	{1141,0},
  {1178,0},	{1215,0},	{1252,0},	{1289,0},
  {1326,0},	{1363,0},	{698,0},	{735,0},
  {772,0},	{809,0},	{846,0},	{883,0},
  {920,0},	{957,0},	{994,0},	{1031,0},
  {1068,0},	{1105,0},	{1142,0},	{1179,0},
  {1216,0},	{1253,0},	{1290,0},	{1327,0},
  {1364,0},	{699,0},	{736,0},	{773,0},
  {810,0},	{847,0},	{884,0},	{921,0},
  {958,0},	{995,0},	{1313,0},	{1069,0},
  {1106,0},	{1143,0},	{1180,0},	{1217,0},
  {1254,0},	{1291,0},	{1328,0},	{1365,0},
  {700,0},	{737,0},	{774,0},	{811,0},
  {848,0},	{885,0},	{922,0},	{959,0},
  {996,0},	{1033,0},	{1070,0},	{1107,0},
  {1144,0},	{1181,0},	{1218,0},	{1255,0},
  {1292,0},	{1329,0},	{1366,0},	{701,0},
  {738,0},	{775,0},	{812,0},	{849,0},
  {886,0},	{923,0},	{960,0},	{997,0},
  {1034,0},	{1071,0},	{1108,0},	{1145,0},
  {1182,0},	{1219,0},	{1256,0},	{1293,0},
  {1330,0},	{1367,0},	{983,0},	{739,0},
  {776,0},	{813,0},	{850,0},	{887,0},
  {924,0},	{961,0},	{998,0},	{1035,0},
  {1072,0},	{1109,0},	{1146,0},	{1183,0},
  {1220,0},	{1257,0},	{1294,0},	{1331,0},
  {947,0}
};

static struct patval handipat41[] = {
  {574,2},	{762,4},	{725,4},	{761,4},
  {757,0},	{573,0},	{609,0},	{758,0},
  {572,0},	{611,0},	{759,0},	{575,0},
  {612,0},	{649,0},	{686,0},	{723,0},
  {760,0},	{576,0},	{613,0},	{650,0},
  {687,0},	{724,0},	{577,0},	{614,0},
  {651,0},	{688,0},	{610,0}
};

static struct patval handipat42[] = {
  {686,2},	{836,4},	{873,4},	{830,4},
  {867,4},	{756,0},	{793,0},	{831,0},
  {868,0},	{719,0},	{758,0},	{795,0},
  {832,0},	{869,0},	{759,0},	{796,0},
  {833,0},	{870,0},	{682,0},	{723,0},
  {760,0},	{797,0},	{834,0},	{871,0},
  {687,0},	{724,0},	{761,0},	{798,0},
  {835,0},	{872,0},	{688,0},	{725,0},
  {762,0},	{799,0},	{757,0},	{794,0}
};

static struct patval handipat43[] = {
  {686,2},	{836,4},	{873,4},	{831,4},
  {868,4},	{832,4},	{869,4},	{794,0},
  {795,0},	{759,0},	{796,0},	{833,0},
  {870,0},	{757,0},	{723,0},	{760,0},
  {797,0},	{834,0},	{871,0},	{687,0},
  {724,0},	{761,0},	{798,0},	{835,0},
  {872,0},	{688,0},	{725,0},	{762,0},
  {799,0},	{758,0}
};

static struct patval handipat44[] = {
  {872,4},	{835,4},	{830,4},	{867,4},
  {868,4},	{793,0},	{719,0},	{794,0},
  {831,0},	{682,0},	{758,0},	{795,0},
  {832,0},	{869,0},	{756,0},	{759,0},
  {796,0},	{833,0},	{870,0},	{686,0},
  {723,0},	{760,0},	{797,0},	{834,0},
  {871,0},	{687,0},	{724,0},	{761,0},
  {798,0},	{757,0}
};

static struct patval handipat45[] = {
  {686,4},	{682,4},	{871,4},	{830,4},
  {867,4},	{834,4},	{793,0},	{757,0},
  {794,0},	{831,0},	{756,0},	{758,0},
  {795,0},	{832,0},	{869,0},	{759,0},
  {796,0},	{833,0},	{870,0},	{719,0},
  {723,0},	{760,0},	{797,0},	{868,0}
};

static struct patval handipat46[] = {
  {608,0},	{682,0},	{719,0},	{756,0},
  {793,0},	{609,0},	{757,0},	{794,0},
  {610,0},	{645,0},	{758,0},	{795,0},
  {611,0},	{759,0},	{796,0},	{612,0},
  {649,0},	{686,0},	{723,0},	{760,0},
  {797,0}
};

static struct patval handipat47[] = {
  {686,4},	{682,4},	{793,4},	{797,4},
  {757,0},	{794,0},	{756,0},	{758,0},
  {795,0},	{759,0},	{796,0},	{719,0},
  {723,0},	{760,0}
};

static struct patval handipat48[] = {
  {760,4},	{756,4},	{719,0},	{645,0},
  {757,0},	{682,0},	{758,0},	{759,0},
  {649,0},	{686,0},	{723,0}
};

static struct pattern handipat[50];

static int
autohelperhandipat6(int trans, int move, int color, int action)
{
  UNUSED(trans);
  UNUSED(color);
  UNUSED(action);

  UNUSED(move);

  return free_handicap_remaining_stones() > 20;
}

static int
autohelperhandipat25(int trans, int move, int color, int action)
{
  int a, b, c, d;
  UNUSED(color);
  UNUSED(action);

  a = AFFINE_TRANSFORM(424, trans, move);
  b = AFFINE_TRANSFORM(461, trans, move);
  c = AFFINE_TRANSFORM(426, trans, move);
  d = AFFINE_TRANSFORM(463, trans, move);

  return somewhere(color, 0, 2, a, b) && somewhere(color, 0, 2, c, d);
}

static int
autohelperhandipat26(int trans, int move, int color, int action)
{
  int a, b, c, d;
  UNUSED(color);
  UNUSED(action);

  a = AFFINE_TRANSFORM(423, trans, move);
  b = AFFINE_TRANSFORM(460, trans, move);
  c = AFFINE_TRANSFORM(425, trans, move);
  d = AFFINE_TRANSFORM(462, trans, move);

  return somewhere(color, 0, 2, a, b) && somewhere(color, 0, 2, c, d);
}

static int
autohelperhandipat27(int trans, int move, int color, int action)
{
  int a, b;
  UNUSED(color);
  UNUSED(action);

  a = AFFINE_TRANSFORM(425, trans, move);
  b = AFFINE_TRANSFORM(426, trans, move);

  return somewhere(color, 0, 2, a, b);
}

static int
autohelperhandipat28(int trans, int move, int color, int action)
{
  int a, b;
  UNUSED(color);
  UNUSED(action);

  a = AFFINE_TRANSFORM(424, trans, move);
  b = AFFINE_TRANSFORM(425, trans, move);

  return somewhere(color, 0, 2, a, b);
}

static int
autohelperhandipat36(int trans, int move, int color, int action)
{
  UNUSED(trans);
  UNUSED(color);
  UNUSED(action);

  UNUSED(move);

  return free_handicap_remaining_stones() > 4;
}

static int
autohelperhandipat37(int trans, int move, int color, int action)
{
  UNUSED(trans);
  UNUSED(color);
  UNUSED(action);

  UNUSED(move);

  return free_handicap_remaining_stones() > 9;
}

static int
autohelperhandipat38(int trans, int move, int color, int action)
{
  UNUSED(trans);
  UNUSED(color);
  UNUSED(action);

  UNUSED(move);

  return free_handicap_total_stones() > 18;
}

static int
autohelperhandipat39(int trans, int move, int color, int action)
{
  UNUSED(trans);
  UNUSED(color);
  UNUSED(action);

  UNUSED(move);

  return free_handicap_total_stones() >= 5;
}

static int
autohelperhandipat40(int trans, int move, int color, int action)
{
  UNUSED(trans);
  UNUSED(color);
  UNUSED(action);

  UNUSED(move);

  return free_handicap_total_stones() >= 5;
}

static struct pattern handipat[] = {
  {handipat0,21,4, "H1",-4,0,0,4,4,4,0xa,792,
    { 0x3f3f0000, 0x003f3f3f, 0x00f0f0f0, 0xf0f00000, 0x3f3f0000, 0x003f3f3f, 0x00f0f0f0, 0xf0f00000},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,25.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat1,12,4, "H2",-3,0,0,3,3,3,0xa,756,
    { 0x3f3f0000, 0x003f3f3f, 0x00f0f0f0, 0xf0f00000, 0x3f3f0000, 0x003f3f3f, 0x00f0f0f0, 0xf0f00000},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,23.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat2,16,8, "H3",-3,0,0,4,3,4,0xa,793,
    { 0x3f3f0000, 0x003f3f3f, 0x00f0f0f0, 0xf0f00000, 0x3f3f0000, 0x003f3f3f, 0x00f0f0f0, 0xf0f00000},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,24.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat3,26,8, "H4",-5,0,0,4,5,4,0xa,791,
    { 0x3f3f0000, 0x003f3f3f, 0x00f0f0f0, 0xf0f00000, 0x3f3f0000, 0x003f3f3f, 0x00f0f0f0, 0xf0f00000},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,23.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat4,26,8, "H5",-5,0,0,4,5,4,0xa,754,
    { 0x3f3f0000, 0x003f3f3f, 0x00f0f0f0, 0xf0f00000, 0x3f3f0000, 0x003f3f3f, 0x00f0f0f0, 0xf0f00000},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,23.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat5,32,8, "H6",-5,0,0,5,5,5,0xa,828,
    { 0x3f3f0000, 0x003f3f3f, 0x00f0f0f0, 0xf0f00000, 0x3f3f0000, 0x003f3f3f, 0x00f0f0f0, 0xf0f00000},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,18.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat6,32,8, "H7",-5,0,0,5,5,5,0xa,791,
    { 0x3f3f0000, 0x003f3f3f, 0x00f0f0f0, 0xf0f00000, 0x3f3f0000, 0x003f3f3f, 0x00f0f0f0, 0xf0f00000},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,23.000000,NULL,1,NULL,autohelperhandipat6,0,0.000000},
  {handipat7,21,8, "H10",-3,-3,2,1,5,4,0xa,645,
    { 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xffffffff, 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,21.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat8,21,8, "H11",-3,-3,2,1,5,4,0xa,682,
    { 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xffffffff, 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,21.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat9,26,8, "H12",-4,-3,2,1,6,4,0xa,644,
    { 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xffffffff, 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,19.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat10,26,8, "H13",-4,-3,2,1,6,4,0xa,681,
    { 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xffffffff, 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,19.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat11,21,8, "H14",-1,-2,4,2,5,4,0xa,723,
    { 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xffffffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,21.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat12,21,8, "H15",-1,-2,4,2,5,4,0xa,686,
    { 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xffffffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,18.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat13,21,8, "H16",-1,-3,4,1,5,4,0xa,686,
    { 0xfcfcfcfc, 0xfcfcfc00, 0xffffff00, 0xffffffff, 0xfcfcfcfc, 0xfcfcfc00, 0xffffff00, 0xffffffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,21.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat14,21,8, "H17",-1,-3,4,1,5,4,0xa,649,
    { 0xfcfcfcfc, 0xfcfcfc00, 0xffffff00, 0xffffffff, 0xfcfcfcfc, 0xfcfcfc00, 0xffffff00, 0xffffffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,18.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat15,27,8, "H18",-3,-2,2,3,5,5,0xa,719,
    { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100001, 0x00100000, 0x00100000, 0x00100000, 0x00100001}
   , 0x0,18.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat16,33,8, "H19",-4,-2,2,3,6,5,0xa,718,
    { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100001, 0x00100000, 0x00100000, 0x00100000, 0x00100001}
   , 0x0,19.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat17,33,8, "H20",-3,-3,3,2,6,5,0xa,682,
    { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,19.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat18,33,8, "H21",-3,-3,3,2,6,5,0xa,645,
    { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,19.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat19,27,8, "H22",-1,-2,4,3,5,5,0xa,758,
    { 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xffffffff},
    { 0x00100004, 0x00100000, 0x00100000, 0x01100000, 0x00100000, 0x00100000, 0x00100100, 0x00100040}
   , 0x0,12.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat20,33,8, "H23",-1,-2,5,3,6,5,0xa,724,
    { 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xffffffff},
    { 0x00100004, 0x00100000, 0x00100000, 0x01100000, 0x00100000, 0x00100000, 0x00100100, 0x00100040}
   , 0x0,11.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat21,33,8, "H24",-1,-3,5,2,6,5,0xa,650,
    { 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xffffffff},
    { 0x00100010, 0x00100000, 0x00100000, 0x00110000, 0x00100000, 0x00100000, 0x00110000, 0x00100010}
   , 0x0,11.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat22,86,8, "H30",-1,-3,3,15,4,18,0xe,906,
    { 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xffffffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,22.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat23,86,8, "H31",-1,-2,3,16,4,18,0xe,907,
    { 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xffffffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,24.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat24,86,8, "H32",-1,-2,3,16,4,18,0xe,906,
    { 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xffffffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,24.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat25,68,8, "H40",-5,0,0,11,5,11,0xa,1014,
    { 0x3f3f0000, 0x003f3f3e, 0x00f0f0f0, 0xf0f00000, 0x3f3f0000, 0x003f3f3e, 0x00f0f0f0, 0xf0f00000},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,20.000000,NULL,1,NULL,autohelperhandipat25,0,0.016000},
  {handipat26,68,8, "H41",-5,0,0,11,5,11,0xa,1015,
    { 0x3f3f0000, 0x003f3f3e, 0x00f0f0f0, 0xf0f00000, 0x3f3f0000, 0x003f3f3e, 0x00f0f0f0, 0xf0f00000},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,20.000000,NULL,1,NULL,autohelperhandipat26,0,0.016000},
  {handipat27,63,8, "H42",-3,-4,2,7,5,11,0xa,868,
    { 0xffffffff, 0xffffffff, 0xfffefeff, 0xffffffaf, 0xffffffeb, 0xffffffff, 0xffffffff, 0xfefeffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,17.000000,NULL,1,NULL,autohelperhandipat27,0,0.010000},
  {handipat28,63,8, "H43",-2,-4,3,7,5,11,0xa,870,
    { 0xffffffff, 0xffffffff, 0xfefeffff, 0xffffffeb, 0xffffffaf, 0xffffffff, 0xffffffff, 0xfffefeff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,17.000000,NULL,1,NULL,autohelperhandipat28,0,0.010000},
  {handipat29,63,8, "H44",-2,-3,3,8,5,11,0xa,907,
    { 0xffffffff, 0xfefeffff, 0xffffffeb, 0xffffffff, 0xfffefeff, 0xffffffaf, 0xffffffff, 0xffffffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,17.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat30,63,8, "H45",-2,-3,3,8,5,11,0xa,906,
    { 0xffffffff, 0xfefeffff, 0xffffffeb, 0xffffffff, 0xfffefeff, 0xffffffaf, 0xffffffff, 0xffffffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,17.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat31,52,8, "H50",-3,0,0,13,3,13,0xa,1015,
    { 0x3f3f0000, 0x003f3f3e, 0x00f0f0f0, 0xf0f00000, 0x3f3f0000, 0x003f3f3e, 0x00f0f0f0, 0xf0f00000},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,16.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat32,66,8, "H51",-4,0,0,13,4,13,0xa,1014,
    { 0x3f3f0000, 0x003f3f3e, 0x00f0f0f0, 0xf0f00000, 0x3f3f0000, 0x003f3f3e, 0x00f0f0f0, 0xf0f00000},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,16.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat33,56,8, "H52",-1,-9,3,3,4,12,0xa,685,
    { 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xffffffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,12.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat34,56,8, "H53",-2,-9,2,3,4,12,0xa,682,
    { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,12.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat35,192,4, "H60",-13,0,0,13,13,13,0xa,1008,
    { 0x3f3f0000, 0x003f3f3e, 0x00f0f0f0, 0xf0f00000, 0x3f3f0000, 0x003f3f3e, 0x00f0f0f0, 0xf0f00000},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,14.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat36,192,4, "H61",-13,0,0,13,13,13,0xa,1008,
    { 0x3f3f0000, 0x003f3f3e, 0x00f0f0f0, 0xf0f00000, 0x3f3f0000, 0x003f3f3e, 0x00f0f0f0, 0xf0f00000},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,19.000000,NULL,1,NULL,autohelperhandipat36,0,0.000000},
  {handipat37,192,8, "H62",-13,0,0,13,13,13,0xa,971,
    { 0x3f3f0000, 0x003f3f3e, 0x00f0f0f0, 0xf0f00000, 0x3f3f0000, 0x003f3f3e, 0x00f0f0f0, 0xf0f00000},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,19.000000,NULL,1,NULL,autohelperhandipat37,0,0.000000},
  {handipat38,192,8, "H63",-13,0,0,13,13,13,0xa,971,
    { 0x3f3f0000, 0x003f3f3e, 0x00f0f0f0, 0xf0f00000, 0x3f3f0000, 0x003f3f3e, 0x00f0f0f0, 0xf0f00000},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,19.000000,NULL,1,NULL,autohelperhandipat38,0,0.000000},
  {handipat39,357,8, "H70",0,0,18,18,18,18,0xf,1026,
    { 0x003f3f3f, 0x00f0f0f0, 0xf0f00000, 0x3f3f0000, 0xf0f00000, 0x3f3f0000, 0x003f3f3f, 0x00f0f0f0},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,19.000000,NULL,1,NULL,autohelperhandipat39,0,0.000000},
  {handipat40,357,8, "H71",0,0,18,18,18,18,0xf,1026,
    { 0x003f3f3f, 0x00f0f0f0, 0xf0f00000, 0x3f3f0000, 0xf0f00000, 0x3f3f0000, 0x003f3f3f, 0x00f0f0f0},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,19.000000,NULL,1,NULL,autohelperhandipat40,0,0.000000},
  {handipat41,27,8, "H80",-1,-3,4,2,5,5,0x0,686,
    { 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xfcfcfcfc, 0xffffff00, 0xffffffff, 0xffffffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,8.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat42,36,8, "H81",-2,0,4,5,6,5,0x0,796,
    { 0x3f3f3f3f, 0x00ffffff, 0xf0f0f0f0, 0xffff0000, 0xffff0000, 0x3f3f3f3f, 0x00ffffff, 0xf0f0f0f0},
    { 0x00100010, 0x00100000, 0x00100000, 0x00110000, 0x00100000, 0x00100000, 0x00110000, 0x00100010}
   , 0x0,8.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat43,30,8, "H82",-1,0,4,5,5,5,0x0,797,
    { 0x3f3f3f3f, 0x00fcfcfc, 0xf0f0f000, 0xffff0000, 0xfcfc0000, 0x3f3f3f00, 0x00ffffff, 0xf0f0f0f0},
    { 0x00100010, 0x00100000, 0x00100000, 0x00110000, 0x00100000, 0x00100000, 0x00110000, 0x00100010}
   , 0x0,8.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat44,30,8, "H83",-2,0,3,5,5,5,0x0,796,
    { 0x3f3f3f3f, 0x00ffffff, 0xf0f0f0f0, 0xffff0000, 0xffff0000, 0x3f3f3f3f, 0x00ffffff, 0xf0f0f0f0},
    { 0x00101000, 0x00500000, 0x10100000, 0x00140000, 0x00500000, 0x10100000, 0x00140000, 0x00101000}
   , 0x0,8.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat45,24,8, "H84",-2,0,2,5,4,5,0x0,758,
    { 0x3f3f3f2f, 0x00feffff, 0xf0f0f0e0, 0xfffe0000, 0xfffe0000, 0x3f3f3f2f, 0x00feffff, 0xf0f0f0e0},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,5.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat46,21,8, "H85",-2,-2,2,3,4,5,0x0,721,
    { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,5.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat47,14,8, "H86",-2,0,2,3,4,3,0x0,758,
    { 0x3f3f3f2f, 0x00feffff, 0xf0f0f0e0, 0xfffe0000, 0xfffe0000, 0x3f3f3f2f, 0x00feffff, 0xf0f0f0e0},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,1.000000,NULL,0,NULL,NULL,0,0.000000},
  {handipat48,11,8, "H87",-2,-1,2,2,4,3,0x0,721,
    { 0xfffffffe, 0xfffffffe, 0xfcfcfcfc, 0xffffff00, 0xffffff00, 0xfffffffe, 0xfffffffe, 0xfcfcfcfc},
    { 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000, 0x00100000}
   , 0x0,1.000000,NULL,0,NULL,NULL,0,0.000000},
  {NULL, 0,0,NULL,0,0,0,0,0,0,0,0,{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},0,0.0,NULL,0,NULL,NULL,0,0.0}
};

struct pattern_db handipat_db = {
  -1,
  0,
  handipat
 , NULL
};
